function AllReady() {
  var mstform = Ext.getCmp("CntPayM7"); //获取表头数据
  var dgrid = Ext.getCmp("CntPayDRkd7");
  var dgrid1 = Ext.getCmp("CntPayDRkdOld7");
  mstform.getItem('PhidCnt').userSetMustInput(false);
  mstform.getItem('PhidPc').userSetMustInput(false);
  mstform.getItem('CurrType').userSetMustInput(false);
  mstform.getItem('ExchRate').userSetMustInput(false);
  dgrid1.setMustInputCol('ItemNo', false);
  if (!dgrid1) {
    console.log("1111");
    dgrid1.setMustInputCol("OwnAmtVatFc", false); // 通用帮助加_name true-必输   false-不必输
    dgrid1.setMustInputCol("CmAmtVatFc", false); // 通用帮助加_name true-必输   false-不必输
    dgrid1.setMustInputCol("CmQty", false); // 通用帮助加_name true-必输   false-不必输
    dgrid1.setMustInputCol("OwnQty", false); // 通用帮助加_name true-必输   false-不必输
    dgrid1.hideColumn("OwnAmtVatFc", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
    dgrid1.hideColumn("CmAmtVatFc", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
    dgrid1.hideColumn("CmQty", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
    dgrid1.hideColumn("OwnQty", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
  }
  var dstore = dgrid1.store;
  var toolbar = Ext.getCmp("toolbar");
  toolbar.get("imp").setText("引用采购入库");
  dgrid.setMustInputCol("OwnAmtVatFc", false); // 通用帮助加_name true-必输   false-不必输
  dgrid.setMustInputCol("CmAmtVatFc", false); // 通用帮助加_name true-必输   false-不必输
  dgrid.setMustInputCol("CmQty", false); // 通用帮助加_name true-必输   false-不必输
  dgrid.setMustInputCol("OwnQty", false); // 通用帮助加_name true-必输   false-不必输
  dgrid.hideColumn("OwnAmtVatFc", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
  dgrid.hideColumn("CmAmtVatFc", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
  dgrid.hideColumn("CmQty", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏
  dgrid.hideColumn("OwnQty", true); // 通用帮助加_name   true-隐藏   false-可见//	表体控件设为隐藏

  if (mstform) {
    // mstform.getItem("Title").userSetMustInput(false); // true-必输   false-不必输
    // mstform.getItem("Title").setVisible(false); //true-可见   false-x隐藏
  }
  //采购对账单的标题默认取项目名称+对账单 隐藏掉
  if (otype == "edit" || otype == "add" || otype == "copy") {
    mstform.on("dataready", function () {
      console.log("Data ready event triggered");
    });
    mstform.getItem("PhidPc").addListener("change", function () {
      // setTitle();
    });
  }
  if ( otype == "add") {
    mstform.getItem('CurrType').setValue('1');
    mstform.getItem('ExchRate').setValue('1');
    BatchBindCombox([mstform.getItem("CurrType")]);
  }
  dgrid1.addListener('edit', function (editor, e) {
    // 获取当前编辑的字段名和新值
    console.log(`表体编辑`);
    const dstore = e.record
   
    
    console.log('监听读取',dstore);
      
      edit(dstore)

  
});
function edit(dstore){
  const user_new_prc = dstore.get("user_new_prc")
  const PrcFc = dstore.get("PrcFc")
  const user_new_rate = dstore.get("user_new_rate")
  const RepQty = dstore.get("RepQty")
  dstore.set("user_yfsyl",RepQty)
  // console.log(RepQty,PrcFc,user_yfsyl);
  if (PrcFc>user_new_prc) {
      Ext.Msg.alert("提示","未税单价超过合同未税单价")
      dstore.set("PrcFc",user_new_prc)
      dstore.set("PrcVatFc",user_new_prc*(user_new_rate+1))
  }

  // 判断数量是否超出(无缓冲去查找)
  dgrid.getView().refresh()
}
  if (otype == $Otype.ADD || otype == $Otype.EDIT || otype == $Otype.COPY||otype == $Otype.VIEW) {
    dstore.on("datachanged",async function (dstore, eOpts) {
      const records = dstore.getRange();
      for (const record of records) {
        // 含税单价;PrcVatFc
        // 折扣金额user_discount_amtEW
        // 折扣后价格user_discount_prc
        // 新税率 user_new_rate
        // 原税率 TaxRate
        // 折扣后价格 = 含税单价/（1+新税率）*（1+原税率）    

        record.set("user_discount_prc", (Number(record.get("PrcVatFc")) / Number(1 + record.get("user_new_rate"))) * Number(1 + record.get("TaxRate")));
        // record.set("user_new_rate",Number(record.data.TaxRate));--0609
        // record.set("user_new_prc",Number(record.data.PrcFc)); -- 0609
        // if (otype == $Otype.ADD) {
          console.log('改变应付剩余量');
          
          record.set("user_yfsyl",Number(record.data.RepQty));
        // }


        // record.data.user_new_rate = Number(record.data.TaxRate);
        // record.data.user_new_prc = Number(record.data.PrcFc);

        dgrid.getView().refresh()
        //折扣金额 = 折扣后价格 * 数量
        if (record.get("user_discount_prc")) {
        //   record.set("user_new_rate",Number(record.data.TaxRate)); --0609
        //   record.set("user_new_prc",Number(record.data.PrcFc)); -- 0609
          record.set("user_discount_amt", Number(record.get("user_discount_prc")) * Number(record.get("RepQty")));
        }
      }
      dgrid.getView().refresh()
    });
  }
  dgrid.addListener('edit', function (editor, e) {
    // 获取当前编辑的字段名和新值
    console.log(`表体编辑`);
    var editedField = e.field;
    var newValue = e.record.get(editedField);
    console.log(editedField);
    console.log(newValue);
    
    
    // 获取所有选中的行
    var selectedRows = dgrid.getSelectionModel().getSelection();

    // 遍历所有选中的行，更新对应字段
    selectedRows.forEach(function(row) {
        if (row !== e.record) { // 排除已编辑的行（避免重复）
            row.set(editedField, newValue);
            // dgrid.updateRow(row); // 更新行显示
        }
    });
});
  mstform.getItem("RecOrg").addListener("change", function (args) {
    console.log(args);
    mstform.getItem("Title").setValue(`${args.rawValue}--对账单`);
    mstform.getItem("RecCompName").setValue(mstform.getItem("RecOrg").getValue());
    BatchBindCombox([mstform.getItem("RecCompName")]);
      getPtInfoByPhid();

    });
  ////////////////////////////////////////--function--////////////////////////////////////////
  function getPtInfoByPhid() {
      console.log("带出项目信息", mstform.getItem("RecOrg").getValue());
      if (mstform.getItem("RecOrg").getValue()) {
          execServer("searchHtxx", { phident: mstform.getItem("RecOrg").getValue() }, function (res) {
            if (res.count == 0) return
              const datas = JSON.parse(res.data)[0].extendObjects;
              console.log(datas);
            
              // mstform.getItem("Title").setValue(`${datas.bill_name}--对账单`);
              // mstform.getItem("PhidCnt").setValue(datas.bill_no); 
              mstform.getItem("PhidCnt").setValue(datas.phid); 
              mstform.getItem("CntTitle").setValue(datas.bill_name); 
              mstform.getItem("BRCntNo").setValue(datas.bill_no); 
              // mstform.getItem("PhidCnt_EXName").setValue(datas.bill_no); 
              mstform.getItem("PhidPc").setValue(datas.phid_pc); 

              BatchBindCombox([mstform.getItem("PhidCnt")]);
              BatchBindCombox([mstform.getItem("PhidPc")]);
          });

      }
  }
  // 设置标题
  function setTitle() {
    try {
      var mstform = Ext.getCmp("CntPayM7");
      var titleItem = mstform?.getItem("Title");
      var phidPc = mstform?.getItem("PhidPc")?.value;
      var RecOrg = mstform?.getItem("PhidPc")?.value;

      titleItem?.setValue("对账单"); // 默认赋值

      if (!phidPc) return;

      execServer("getPtInfoByPhid", { phid: phidPc }, function (res) {
        let datas = JSON.parse(res.data)
        console.log(datas);
        
        var data = res?.count > 0 ? JSON.parse(res.data)[0]?.extendObjects : "";
        titleItem?.setValue((data.pc_name || "") + "对账单");
      });
    } catch (error) {
      console.error("功能扩展报错:", error);
    }
  }
}
